// vuex模块目的：筛选处理权限问题
import { asyncRoutes, constantRoutes } from '@/router'
export default {
  namespaced: true,
  state() {
    return {
      // 静态路由+用户的动态路由
      // 作用：提供给侧边栏渲染使用
      // 初始值式静态路由
      routes: [...constantRoutes]
    }
  },
  mutations: {
    // 设置菜单信息
    setRoutes(state, data) {
      // 得到用户的动态路由datas，和静态路由放在一起
      state.routes = [...constantRoutes, ...data]
    }
  },
  actions: {
    // 根据服务器返回的页面标识和本地完整的动态路由 筛选出属于用户的动态路由
    filterRoutes(ctx, menus) {
      const userAsyncRoutes = []
      asyncRoutes.forEach(item => {
        // console.log(item.name)
        if (menus.includes(item.name)) {
          userAsyncRoutes.push(item)
        }
      })
      // console.log(userAsyncRoutes)
      ctx.commit('setRoutes', userAsyncRoutes)
      return userAsyncRoutes
    }
  }

}
